Methods, systems, and media to enhance image processing in a color reprographic system

ABSTRACT

Methods, systems, and media to enhance image processing for a color reprographic system are disclosed. Embodiments of the invention may calibrate a component like scanner and/or printer in response to user input and/or coupling the component to the reprographic system. More specifically, embodiments may generate correction parameters that describe differences in color values between an image scanned by a scanner or an image printed by the printer by comparing the outputs to known characteristics like color values for the image. Some embodiments comprise a graphical user interface (GUI) to communicate with the user, allowing the user to select user preferences to change, for example, the brightness of an image being copied. Further embodiments incorporate network and phone system interfaces to communicate with remote components as well as to receive input from and/or output to other systems via email, facsimile, etc.

CROSS-REFERENCES TO RELATED APPLICATIONS

This non-provisional patent application is a divisional of U.S. patentapplication Ser. No. 10/693,760, filed Oct. 24, 2003, which claimspriority to U.S. Provisional Patent Application No. 60/459,064, filedMar. 28, 2003, which is incorporated by reference herein.

FIELD OF INVENTION

The present invention relates to the field of color reprographic systemsand more particularly to methods, systems, and media for enhancing imageprocessing for a color reprographic system based upon the component(s)utilized and automatic enhancement in response to the touch of a buttonfor average users, to optimize or improve image quality.

BACKGROUND

A reprographic system includes a scanner for scanning paper documentsand pictures and storing them into electronic files, image processingsoftware and/or hardware for storing, transmitting, and manipulating thefiles, and a printer for printing copies of the processed images.Traditional reprographic systems are closed systems having a dedicated,integrated scanner and printer like a photocopier. The dedicated scannerand printer are initially calibrated to operate together by themanufacturer and, after the copier is installed, periodically by aspecialized service technician. Technicians manually calibrate thesystems with tools and reference materials unavailable to average usersand with specialized training.

Modern reprographic systems are moving toward a modular structure, oftensupporting multiple scanners and multiple printers in a definedarchitecture. Such systems can also include other output destinationsfor images, such as facsimile, e-mail, etc. and individual componentshave unique image characteristics. Manual calibration of theseindividual components quickly becomes cumbersome, especially forcalibration of and selection of enhancement tools for color components.

Color components add to the complexity of calibration since colorscanning components typically generate data in a red, green, and blue(RGB) color space and printers typically print in a cyan, magenta, andyellow (CMY) color space or a cyan, magenta, yellow, and black (CMYK).Thus, in color systems, calibration must not only account fordifferences in tone levels of black, but also variances in three othercolor levels and interrelationships between the color levels anddistortions related to different processing techniques of the variouscomponents. More specifically, when a color scanner scans a color image,a mix of, e.g., red, green, and blue bits represent each color of theimage including black. Distortions involved with the scanning processcan cause one or more, or even all of the hues in the color image to bemisrepresented by the scanner with regards to color values of pixels andpixel locations. With regards to sharp black images like black text,misalignments of the scanner optics can cause misalignments of pixels,changing black pixels of the text into pixels with one or more colorcasts.

Distortions involved with color printing processes can cause the red,green, and blue pixels to be misrepresented in CMYK color space onpaper, further compounding the errors. Such distortions, which areinherent to color document reproduction on a modular, reprographicsystem, require multiple combinations of complex image correction orenhancement processes. The number and settings for each of the multiplecombinations depend upon the distortions associated with a selectedscanner and printer and the original document to be reproduced, as wellas how these distortions interact. Having an average user select eachthe image enhancement algorithms and their settings to produce asuitable copy each page of each document is an impracticable solutionfor most applications, but failing to adequately correct fordistortions, even if an acceptable copy of a high quality original canbe made, would significantly degrade image quality as copies arereproduced.

SUMMARY OF THE INVENTION

The problems identified above are in large part addressed by a methodand system to enhance image processing of a color reprographic system.Embodiments of the invention may calibrate a component like scannerand/or printer in response to user input and/or coupling the componentto the reprographic system as well as select image enhancement toolsbased upon characteristics of the actual components used and thedocuments being reproduced. More specifically, in a first calibration orcharacteristics detection stage, embodiments may generate correctionparameters that describe differences in color values between an imagescanned by a scanner or an image printed by the printer by comparing theoutputs to known characteristics like color values for test targets. Ina second real-time document reproduction stage, based on the detectedprinter characteristics, the post-scan image processing will bedynamically configured to optimize image quality and performance forcolor reprographic systems. The documents being reproduced may beevaluated, e.g., for skew, to select appropriate enhancement tools toimprove the reproduction of the documents. Several embodiments comprisea graphical user interface (GUI) to communicate with the user, allowingthe user to select user preferences to change, for example, thedarker/lighter adjustment could be selected as a user preference. Someembodiments incorporate network and phone system interfaces tocommunicate with remote components as well as to receive input fromand/or output to other systems via email, facsimile, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects and advantages of the invention will become apparent uponreading the following detailed description and upon reference to theaccompanying drawings in which, like references may indicate similarelements:

FIG. 1 depicts an embodiment of a reprographic system having local andremote, components and user access;

FIG. 2 depicts an embodiment of an apparatus for automatically enhancingimage processing in a color reprographic system; and

FIGS. 3-7 depict example flow charts of a method to enhance imageprocessing for a color reprographic system, including flow chartsfocused on static corrections based upon components selected and dynamiccorrections based upon the components selected as well as the documentsbeing reproduced.

DETAILED DESCRIPTION OF EMBODIMENTS

The following is a detailed description of example embodiments of theinvention depicted in the accompanying drawings. The example embodimentsare in such detail as to clearly communicate the invention. However, theamount of detail offered is not intended to limit the anticipatedvariations of embodiments, but on the contrary, the intention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the present invention as defined by the appendedclaims. The detailed descriptions below are designed to make suchembodiments obvious to a person of ordinary skill in the art.

Generally speaking, the invention contemplates an automated,user-friendly system and method for enhancing image processing in amodular color reprographic system. The system includes one or morescanners, one or more printers, and a data processing device or computerconnected to them. In a modular embodiment, the scanner(s), printer(s),and computer are discrete elements connected to each other via a cableor wireless link. The computer provides a graphical user interface (GUI)that enables an unskilled user to dynamically enhance or select imageprocessing components for each scanner and printer by simply pressing abutton. Calibration or scanner/printer characteristics detection istypically invoked in a first stage when a new scanner or printer isintroduced or from time to time to update existing correctionparameters. The user interface guides the user through a first stageprocess that includes scanning a target having known characteristicswith the scanner to generate scanner target data. The computer receivesthe scanner target data from the scanner via a scanner interface. Anerror detector coupled to the scanner interface compares the scannertarget data to known target data and a parameter generator thengenerates scanner correction parameters indicative of the scanner'scharacteristic distortion, i.e., the differences, such as gray balance,color fringe, and color value differences, between the scanner targetdata and the known target data. In real-time copy, when the computerreceives subsequent image data from the scanner, it uses the scannercorrection parameters to modify the scanned data to compensate for thescanner's distortion and then dynamically configures different post-scanimage processing for outputs with different technologies andcharacteristics, thereby providing a good quality reproduction to theprinter, an email, a facsimile, or more than one of such destinations.

The user interface may further guide the user through a printercharacteristics detection process in which the known, digital target isprinted and scanned by an image enhanced, or corrected scanner. Then,the computer can derive printer correction parameters or store certainprinter characteristics for selecting post-scan image processingcomponents. The printer correction parameters include gray balance,descreen filters. The descreen filters compensate for halftones inherentto the printer and/or the original image. The resulting printercorrection parameters are then stored on the computer and invoked in asecond stage when image data is to be sent to that printer, compensatingfor the printer's characteristic distortion. Based on the detectedcharacteristics of the printer, different post-scan processingcomponents are dynamically configured for both image quality andperformance optimization. Some embodiments also invoke a segmenter inthe real-time copy stage to separate the black text and line-art fromthe color images in the scanned corrected data so different types ofimage content can be processed differently for optimized image qualityand performance. Black text, for example, is sent to the printer withhigh resolution binary black, while color image is descreened withappropriate filters to avoid halftone interference (Moire) patterns. Inthis manner, the computer includes scanner and printer correctionparameters for each scanner and printer on the system. A document canthen be evaluated in the second stage and enhanced dynamically forreproduction with a minimum of distortion using any scanner/printercombination. The user interface may also permit the user to imposepreferences on the reproduced document like brightness, contrast, andcolor saturation by incorporating user preference parameters. Note thatthe first stage of this process is performed to add scanners or printerand to update calibration of existing scanners or printers. Processingbegins with the second stage occurs when a user wants to make a copywith calibrated scanners and printers.

Turning now to the drawings, FIG. 1 depicts an embodiment of a system100 for enhancement of image processing for a color reprographic system.System 100 includes a local scanner 110, a local printer 115, aprocessing unit 120, a phone system 180 coupled with fax machine 182 andremote user input-output (I/O) 184, and a local area network/wide areanetwork (LAN/WAN) 190. Local scanner 110 and local printer 120 mayinclude one or more scanners and printers in a conventional copy roomsuch as work group scanners, laser printers, and inkjet printers. Insome embodiments, local scanner 110, local printer 115, and processingunit 120 may be adapted to couple to appear as a conventionalphotocopier although these components offer the flexibility of a looselycoupled reprographic system. For instance, a conventional photocopierhas a scanner integrated with the printer. Such a scanner is physicallyand functionally inseparable from the printer. Local scanner 110, on theother hand, can scan images to print to a different local printer, or aremote printer, such as remote printer 194. Printing to remote printer194 may be more convenient for the user because local printer 115 mayrun out of ink, remote printer 194 may be located in the user's office,and/or a large document may be printed and remote printer 194 may printat a faster rate.

Processing unit 120 includes the software, firmware, and/or hardware toloosely couple and enhance image processing for any scanner and anyprinter to form a reprographic system. In particular, processing unit120 couples with a component like a scanner or printer, generatescorrection parameters based upon a difference between color valuesoutput from the component and suitable or expected color values, anddynamically selects and applies the correction parameters to image datawhen the component is used. For instance, when a corrected scanner isused, the scanner correction parameters generated for that particularscanner provides a basis for adjusting the data scanned from an image bythat scanner. Differences in color values identified by the scanner toidentify color values may be non-linear depending upon the intensitiesof red, green, and blue pixels used to characterize the color levelsand, within a gray patch, the scanner may not provide equal values ofeach color, resulting in color values of pixels representative of graypatch having color cast. In some embodiments, processing unit 120 alsoincorporates a standard set of correction parameters based upon knowndistortions associated with certain models of scanners and printers.

Processing unit 120 may be implemented in the form of software executedon a personal computer via an I/O device such as a touch screen or aspecific purpose machine and has an I/O interface 130, a GUI 140, acontroller 142, an error detector and parameter generator 150, a memory144, and an image adjuster 148. I/O interface 130 facilitatescommunication between processing unit 130 and other, typically external,components of a reprographic system. More specifically, I/O interface130 includes interface hardware and drivers to allow processing unit 120to scan, print, fax, send and receive emails, send and receivefacsimiles, interact with remote users, utilize remote reprographiccomponents, and deposit files in or obtain files from file folders. I/Ointerface 130 includes a scanner interface 132, a phone interface 134, anetwork interface 136, and a printer interface 138.

Scanner interface 132 can include one or more local scanner ports suchas a small computer system interface (SCSI) port, a universal serial bus(USB) port, and a fire wire port. Processing unit 120 may instruct ascanner to feed a form, scan data from that form, and transmit thescanned data to I/O interface 130 via scanner interface 132.

Phone interface 134 facilitates the use of a digital and/or analog phonesystem, like phone system 180, by processing unit 120. In particular,phone system 180 can be used by processing unit 120 to send and/orreceive data via a legacy color fax machine like fax machine 182 or amodem or modem software. For example, fax machine 182 may include ascanner to initiate facsimiles and a printer to output facsimiles. Auser, via remote user I/O 184, may instruct processing unit 120 toenhance image processing for the scanner associated with fax machine182. Processing unit 120 may instruct the user, via phone interface 134,to insert a target into fax machine 182 and to transmit or fax thescanned image to processing unit 120 via phone interface 134. The targetis a standard scanning IT8 target such as Kodak Q60. Upon receiving thescanned data from fax machine 182, processing unit 120 automaticallygenerates correction parameters for fax machine 182 to improve oroptimize the performance of the scanner of fax machine 182 when faxmachine is transmitting scanned images to processing unit 120. Further,when actually scanning a document for reproduction, fax machine 182 mayskew, or distort the rectangularity of the document being scanned.Processing unit 120 may recognize the skew and dynamically select anenhancement tool to correct or substantially correct the skew.

In addition, after generating correction parameters for the scanner offax machine 182, processing unit 120 may output or fax a file of adigital step wedge to print via fax machine 182. The digital step wedgeprovides a print having, for example, 16 steps of equal RGB gray, 16steps of cyan, 16 steps of magenta, 16 steps yellow, and 16 steps ofblack to provide a basis for gauging the accuracy of colorrepresentations output by the printer of fax machine 182. Processingunit 120 then instructs the user to scan the printed target with thecorrected scanner of fax machine 182 and compares the scanned data tothe original digital step wedge file to generate correction parametersfor the printer of fax machine 182.

Network interface 136 facilitates communication between processing unit120 and remote components of the reprographic system such as remotescanner 192 and remote printer 194. In some embodiments, networkinterface 136 may also facilitate communication between processing unit120 and remote users, office locations, or similar processing units ofremote office locations. For instance, LAN/WAN 190 may couple processingunit 120 with a processing unit of a second office via the Internet. Auser local to processing unit 120 may want to transfer physical copiesof a document to an associate in the second office. In conventionaloffice situations, the user would either fax the document to the secondoffice if the document is short, or send the document by courier ormail. This user, however, decides to scan the document via local scanner110 and print the document in the second office. Processing unit 120optimizes the scanned data of the documents with a correction parametersfor local scanner 110, compresses the scanned data, and transmits thecompressed, scanned data to a processing unit in the second office. Theprocessing unit in the second office optimizes the scanned data for atargeted printer in the second office based upon a correction parametersgenerated for the targeted printer before printing the document. Inother embodiments, network interface 136 may facilitate enhancing imageprocessing for and printing emails or email attachments received viaprocessing unit 120.

Printer interface 138 facilitates printing data representing images anddocuments via printers like local printer 115 and remote printer 194 vianetwork interface 136. In particular, printer interface 138 includes anetwork connector such as an RJ-45 connector for an Ethernet connectionand protocols to instruct a printer to print an image or document from afile, such as a postscript file.

GUI 140 includes input devices and output devices to interact with auser via a graphical format. GUI 140 may include a transparent touchscreen input device overlaying a graphical display to allow the user,for example, to press buttons designed to instruct processing unit 120to initiate one or more actions. For instance, GUI 140 may displaybuttons such as calibrate printer, calibrate scanner, scan, print, copy,fax, email, save to file, lighter/darker, less contrast/more contrast,desaturate, and the like. The user can select a function such ascalibrate scanner by simply pressing the calibrate scanner button toinitiate the calibration process for the scanner.

Controller 142 coordinates actions of the reprographic system andfacilitates automatic image processing enhancement for components of thereprographic system at the touch of a button in response to user inputlike the calibrate scanner button or user actions such as coupling ascanner to scanner interface 132. Controller 142 responds to user inputlike the calibrate scanner button by automatically implementingcalibration procedures to generate correction parameters for a scanner.More specifically, if a new scanner has been detected, such as localscanner 110, and the user presses calibrate scanner, controller 142 willinstruct GUI 140 to inform the user to place the target in local scanner110. In some embodiments, local scanner 110 will indicate that adocument has been placed on the flatbed or in the auto-feeder for thescanner. In other embodiments, the user may confirm that the target isin local scanner 110. Then, controller 142 instructs local scanner 110to scan the document and transmit the scanned data to processing unit120.

Upon receipt of the scanned data, error detector and parameter generator150 compares the scanned data to target data (either measurement data orpublished data) in response to instructions from controller 142. Errordetector and parameter generator 150 couples with memory 144 to retrievetarget data that includes data describing the expected color values andexpected distribution of the color levels from scanning the target andcompares the expected data to the color values reported by local scanner110. Differences in the expected and actual color values are detected,correction parameters are generated, and the correction parameters arestored in memory 144. In other embodiments, correction parameters and/orexpected data for the target are stored in local and/or remote locationsrather than in memory 144 and can be retrieved via I/O interface 130.

In some embodiments, error detector and parameter generator 150 may beadapted to convert cyan, magenta, and yellow (CMY) formatted data orcyan, magenta, yellow and black (CMYK) formatted data into red, green,and blue (RGB) data to facilitate error detection and parametergeneration in the RGB color space. Such embodiments may includeconverters, such as CMY to RGB, and CMYK to RGB converters forcomparison of color values between scanned data and printer files.

Error detector and parameter generator 150 may detect color fringe andgray balance of scanners in addition to color values in the scannercalibration or scanner characteristic detection stage, and skew in thereal-time copy stage. For example, upon scanning a target having a graypatch with known values, the scanned, RGB data outlining the gray patchis evaluated to determine the extent to which the scanner detects acolor cast, indicative of defocused lenses, referred to as a colorfringe problem. After detecting the extent of the color fringe problem,error detector and parameter generator 150, can implement an algorithmto generate correction parameters to attenuate or eliminate color fringefor subsequent documents scanned by the same scanner.

Similarly, controller 142 responds to a user input like the calibrateprinter button by automatically implementing procedures to enhance imageprocessing for a printer. Controller 142 instructs a printer, likeremote printer 194, to print a digital file of a target such as a stepwedge and then instructs the user to place the printed target in acorrected scanner like remote scanner 192. Remote scanner 192 indicatesthat a document has been placed on the flatbed and controller 142instructs remote scanner 192 to scan the document. Upon receipt of thescanned data, controller 142 instructs error detector and parametergenerator 150 to compare the scanned data to target data, e.g. thedigital file used to print the target.

Error detector and parameter generator 150 may, in the printercharacteristics detection stage, detect gray balance and halftonesassociated with remote printer 194 in addition to color values. When aclustered halftone or line screen is used in the printer, halftoneoriginals can interact with the printer halftone to create a Moirepattern. The Moire pattern is caused by the interaction of two periodicstructures with different but nearly similar frequency. Thus, when thefrequency of the halftones is a regular pattern, e.g., the printersoftware does not implement error diffusion to mask halftoning and thefrequency of halftones is low such as 170 dots per inch (dpi), halftonesassociated with the printed image can interact with halftones associatedwith other printers or output devices to create a Moire pattern. A Moirepattern is an undesirable pattern that results from angles ofoverprinting halftone, e.g. when scanning a halftone like scanningimages taken directly from magazines and printing the same with ahalftone pattern. Thus, after determining the halftone frequency ofremote printer 194, correction parameters are developed to diffuse thehalftone pattern associated with remote printer 194.

On the other hand, controller 142 also receives instructions from theuser such as copy, scan, and print, which involves dynamic imageenhancement such as skew correction and vertical and horizontalalignment correction. In such instances, controller 142 instructs imageadjuster 148 to implement correction parameters related to the action,such as scanner correction parameters, user preference parameters, andprinter correction parameters for a copy command or scanner correctionparameters and user preference parameters for a scan command. Theparameters provide a basis for adjusting data of an image to enhance oroptimize image handling by the reprographic system. In otherembodiments, a scan command may involve adjusting data scanned from animage with scanner correction parameters.

Image adjuster 148 receives instructions from controller 142 to receivethe scanned data from local scanner 110 and correction parameters frommemory 144 and implement adjustments to the scanned data based upon thecorrection parameters. In some embodiments, image adjuster 148 mayretrieve scanner correction parameters for local scanner 110 from memory144 in response to a scan instruction from the user. Dynamic correctionsmay also be implemented by detecting and implementing an enhancementtool to correct for, e.g., vertical and/or horizontal misalignment. Uponadjusting the scanned data, the adjusted, scanned data is output tolocation(s) and in format(s) indicated by the user or to a defaultlocation in a default format.

Similarly, in response to a print command, data of an image to print isadjusted based upon parameters generated to enhance image processing forthe printer on which the image is printed. User preference parametersmay also be implemented if the user instructs the reprographic system toadjust the print, for example, to be darker or lighter.

In response to a copy command, controller 142 may prompt the user forpreferences, wait to receive user preferences, or use the userpreferences as selected prior to the user requesting a copy. Since thescanners and printers are loosely coupled in the reprographic system,one user preference may include selecting the scanner and selecting theprinter to use for copying. For example, processing unit 120 may beadapted to operate as a console within a personal computer in an office.A scanner, such as local scanner 110, may reside in that office so auser, the occupant of the office, may desire to copy documents withlocal scanner 110 to a printer, such as remote printer 194, which islocated in a more central location in the office but offers high printquality and resolution. The user launches processing unit 120 as aconsole on the personal computer and selects copy. Since processing unit120 resides on the users personal computer, the user set default userpreferences and default component selections based upon the user'spersonal preferences. The user's default scanner selection is localscanner 110 and the user's preferences include a custom command in theconsole to switch to remote printer 194. In other embodiments, adepartment of a company may adapt the console of processing unit 120 toallow a user to select from printers and scanners assigned to thedepartment while defaulting to a local printer and scanner.

Controller 142 receives the copy command from the user and dynamicallyinstructs image adjuster 148 to use correction parameters associatedwith local scanner 110, remote printer 194, and one or more userpreferences. Image adjuster 148 adjusts the data scanned from each pageof the document fed to local scanner 110 prior to printing the documentsvia remote printer 194.

Referring now to FIG. 2, there is shown an embodiment of an apparatus200 to enhance image processing for a color reprographic system.Apparatus 200 may include a specific purpose system like a state machineor specific purpose processor, a general purpose machine configured bysoftware to execute aspects of the invention, combinations of the two,or the like. Apparatus 200 includes an I/O interface 210, a controller215, an error detector and parameter generator 280, memory 241, andimage adjuster 260. I/O interface 210 provides an interface tofacilitate communication with users, scanners, printers, fax machines,and the like.

Controller 215 is designed to coordinate functionality of thereprographic system in response to communication with a user. Controller215 includes calibrator 220 and reprographic functions 225. Calibrator220 coordinates image enhancement processing for scanners and printersor imposes user preferences in response to the user pressing a button.More specifically, calibrator 220 includes user 221, scanner 222, andprinter 223. User 221 includes circuitry to allow a user to adjust tonequalities of images handled by the reprographic system such as contrast,lightness and darkness, saturation, and other qualities such as sizeenlargement and reduction. For instance, a user may press a calibrationbutton to indicate a desire to modify user preference parameters,initiating user 221. User 221 may prompt the user to determine thepreferences and based upon answers, temporarily or permanently changethe user preferences for copying operations. The user may select anincrease in contrast when copying documents as a default setting. As aresult a pointer in memory 241 points to user preference parameters inuser parameters 251 that are designed to increase the contrast of imagedata. In many embodiments, however, controller 215 includes defaultsettings and does not include user preferences to select the types ofcorrections to perform.

Scanner 222 includes circuitry to enhance image processing orre-determination of correction parameters for a scanner. Upon initiationof scanner 222, scanner 222 instructs the user to place a scannercalibration target in the scanner that has a corresponding electronicfile in target image data 242 of memory 241. The scanner calibrationtarget is scanned and image processing for the scanner is automaticallycorrected to produce an image quality based upon the errors detected inthe color values, color fringe, and gray balance produced by thescanner. In particular, scanner 222 instructs error detector andparameter generator 230 to compare the color values, color fringe, andgray balance of the scanned data against the measured data 244. Errordetector and parameter generator 230 determines differences in pixelsindicated in measured data 244 such as measured density data and othercolor metric data and the scanned data. Based upon the differences,error detector and parameter generator 230 determines correctionparameters to associate with that scanner and the correction parametersare stored in scanner parameters 252.

Similarly, printer 223 is designed to dynamically configure post-scanimage processing components or generate correction parameters for aprinter. Step wedge 243 is a target that can be used to enhance imageprocessing for the printer. Printer 223 outputs step wedge 243 to theprinter, prompts the user to place the printed target in a correctedscanner and scans the printed target. Upon comparing the data scannedfrom the printed target against step wedge 243, error detector andparameter generator 230 generates printer correction parameters andstores the correction parameters in printer parameters 254, associatingthe correction parameters with that printer.

Reproduction functions 225 include functions like copy, scan, fax,print, email, and distribute to shared file folder(s). The copy functioninitiates a function similar to a conventional photocopier, however,unlike the conventional copy function, the copy function allows the userto specify one or more scanners to perform the document scans andprinters to print the copies. For instance, a memo is created and needsto be delivered to several persons of an organization. The copy functionfacilitates selection of multiple personal printers of persons withinthe organization. After selecting the personal printers of persons thatshould receive the memo, the memo is scanned once, dynamically enhanced,and delivered to the personal printer of every person on the list toreceive the memo. Other embodiments provide for group lists.

The fax function initiates a function similar to a conventional faxmachine; however, any corrected scanner may be selected to improve thequality of the fax. In some embodiments, a modem fax function may beimplemented in conjunction with a scanner and, in other embodiments, acorrected fax scanner may be used. The fax function also provides forfaxing to group lists.

The scan function initiates a function similar to the copy function butthe scan function delivers the output in the form of an electronic file.The electronic file may be saved to one or more locations on a network,faxed to a fax machine or computer, or emailed.

The print function initiates a function to print an electronic file likean email attachment or an image file to one or more local or remoteprinters. For instance, the memo may be printed via the reprographicsystem to personal printers of several persons of an organization sincethe print function facilitates selection of multiple printers.

Error detector and parameter generator 230 compares scanned pixel valuesagainst measured data, or corrected scanned values against known digitalvalues. The differences detected provide a basis for generatingcorrection parameters for a component of the reprographic system such asa scanner or a printer. In particular, when an uncalibrated scannerscans a scan target, error detector and parameter generator 230implements scanner detector 231, which includes a number of algorithmsto determine and generate parameters to correct or attenuate errorsrelated to the scanner. On the other hand, when a corrected scannerscans a printed image, error detector and parameter generator 230implements printer comparator 236, which includes a number of algorithmsto determine and generate parameters to correct or attenuate errorsrelated to the printer.

In some embodiments, error detector and parameter generator 230 includesconverters to convert RGB color space data to other color spaces forcomparison and/or storage in memory 241. For instance, scanned data maybe converted into other color spaces like color spaces supported byInternational Color Consortium (ICC) specifications such asICC.1:2001-12 or other national, international, or Internet standards.In further embodiments, scanned data may be converted into CMY or CMYKto facilitate direct comparisons with printer files.

In many embodiments, the number, types, and processes of imagecorrections may be modified and/or updated. In particular, errordetector and parameter generator 230 can be implemented by a number ofsoftware or firmware applications and the applications may be stored involatile memory like RAM, programmable read only memory (PROM), erasableprogrammable read only memory (EPROM), electrically erasableprogrammable read only memory (EEPROM), flash memory, a hard drive, andthe like so that newer versions of the software or firmware oradditional software or firmware can be incorporated into error detectorand parameter generator 230.

Scanner detector 231 may include functions like color fringe 233, graybalance 234, and colors 235, among others. Color fringe 233 detects red,green and blue color planes misalignment with each other spatially dueto the optical and mechanical design of a scanner. The sharp edge areaaround with gray patches in the IT8 scan target are scanned and analyzedand a curve of gray value (digital count) vs. pixel spatial position isgenerated. If the three, color planes of the scanner are properlyregistered, the three RGB curves for a gray edge should be the same. Ifthere is misregistration between color planes, the three curves will beseparate from each other. The difference between the color planes is thecolor fringe error. Color fringe 233 recognizes the offset and generatedcorrection parameters to compensate the error. Several embodimentsgenerate correction parameters for color fringe errors when theresulting distortion exceeds a color fringe threshold.

Gray balance 234 detects the calibration of the optics of the scanner todetermine whether the scanner perceives gray as a human does. Graybalance 234 may compare color values associated with gray patches of ascanned target with a corresponding digital target like measured data244 to determine whether the is gray patch has a color cast. The scannershould interpret gray patches as having equal or approximately equalcolor values of red, green, and blue. When scanner generates colorvalues that are not equal, the scanner perceived the gray patch ashaving a color cast, meaning that, e.g., the scanner interprets red as ahigher color level than the blue and green counterparts. Further, thecolor cast may vary based upon the gray level of the gray patch so graybalance 234 may generate correction parameters in the form of a curveassociating color levels with color values generated by the scanner tofacilitate correction of the linearity of scanned data from the scanner.If the gray balance of the scanner is within a suitable distortionrange, however, some embodiments are configured to ignore the distortionfor increased document throughput.

Colors 235 may compare the scanned values of the IT8 target against themeasured calorimetric values 244 and generate correction parameters forcorrect or attenuate errors in the scanned data. More specifically,color 235 may generate three independent 1-D tone reproduction curves toconvert non-linear and linear RGB values and a 3.times.3 colorcorrection matrix between the linear RGB values and calibrated RGB orXYZ values, where calibrated RGB or XYZ values are internationalstandard color specifications. Colors 235 could also be other forms ofconversion such as 3.times.N matrix, polynomial data fitting or 3DLook-up Table, other international standard color spaces, such asCIELAB, can be used as color interchange space instead.

In several embodiments, scanner detector 231 may develop two or moresets of correction parameters for scanners with two-sided scanningtechniques. In particular, some scanners offer the dual optics to scantwo sides of a document, however, the scanning technique for the secondside of the document is different from and prone to differentdistortions than scans of the first side of the document. Thus, in thefirst stage, correction parameters can also be generated for the secondside of documents, which are subjected to the alternative scanningtechnique.

Printer comparator 236 may include functions like gray balance 237, andhalftone 238, among others. Similar to gray balance 235, gray balance237 interprets scanned data of a printed target to determine whether theprinter misrepresents a color level, causing a gray patch to have acolor cast. For example, a printer to be calibrated may print a digitalfile of a target such as step wedge 243 and a calibrated scanner scansthe printed target. The color values of the scanned data may becorrected for gray balance problems associated with the scanner by imageadjuster 282. Then, the resulting color values are compared with stepwedge 243 to generate correction parameters to reduce the distortionassociated with gray balance of the printer. The correction parametersare then stored in printer parameters 254 and associated with thatprinter.

Halftone 238 includes algorithms to identify halftones incorporated inthe printed target by a printer. Halftone is a well-known technique forconverting a continuous tone image into a binary image for printing ordisplay by a binary device. Different halftone algorithms are used invarious printing technologies. Commonly used are clustered halftone,dispersed halftone, stochastic halftone, line screen and errordiffusion. Halftones are detected by scanning the CMYK step edge andsearching for a halftone frequency. The detected halftone frequency isused to determine if a descreening may use a descreening filter toremove certain halftone frequency while causing image blurring. Adaptivedescreening technique is used to remove the halftone in the smooth areawhile enhancing the edge at edge area. Several descreen filters havebeen developed to target different frequency ranges and are stored indescreen filters 256 of memory 241 and image adjuster 260 selects adescreen filter based upon the frequency and halftones associated withthe printer and the scanned data.

Memory 241 includes data storage for target image data 242, correctionparameters 250, and descreen filters 256. In several embodiments, memory241 includes RAM like the main RAM of a computer system and/or flash. Inother embodiments, memory 241 may include read only memory (ROM) orcompact disk (CD) ROM for target image data 242 and descreen filters256, and volatile memory for parameters 252. In further embodiments,memory 241 may include data storage devices like optical drives, harddrives, and the like.

Target image data 242 may include one or more digital filescorresponding to scanned and printed targets to facilitate detection andcorrection of distortions associated with components of the reprographicsystem. In the present embodiment, target image data 242 includes stepwedge 243 as a target to enhance image processing for printers andmeasured data 244 as digital data for a photograph quality target forimage processing enhancement of scanners. Step wedge 243 includes Nsteps equal RGB values and four N-step wedges representing each CMYKcolor. Measured data 244 includes digital data for a standard IT8 targetlike measured density data and other color metric data.

Parameters 250 include user parameters 251 and first stage correctionparameters like scanner parameters 252, and printer parameters 254. Userparameters 251 include parameters associated with user imposable imageadjustment curves. Scanner parameters 252 store first stage correctionparameters for each enhanced scanner. Similarly, printer parameters 254stores correction parameters for each enhanced printer and the numberand types of correction parameters for each printer may depend upon theconfiguration of the printer and user preferences.

Descreen filters 256 include filters like median filters, unsharp masks,and Gaussian blur filters. Some embodiments offer standard sets filtersand adjustable filters to produce higher quality images. Otherembodiments may be adapted for increased production, offering standardsets of filters. Further embodiments offer both default filters anduser-adaptable filters.

Image adjuster 260 couples with I/O interface 210 to receive anddistribute scanned data and with controller 215 and memory 241 toimplement first stage correction parameters developed for scanners,printers, user preferences, and digital files involved with areprographic function. In the present embodiment, image adjuster 260also couples with error detector and parameter generator 230 fordynamic, second stage enhancements to detect distortions like halftoningassociated with digital images received for printing. Image adjuster 260includes scanner image adjuster 262 and printer image adjuster 282. Inmany embodiments, image adjuster 270 also includes image reduce/enlarge280 to reduce or enlarge the image in response to user input.

Scanner image adjuster 262 modifies scanned data of documents scanned bya corrected scanner to remove or attenuate detected errors. Further,when different correction parameters are associated with the first andsecond sides of a document and with the documents placed on the flatbedof the calibrated scanner, scanner image adjuster 262 identifies thecorresponding correction parameters. Scanner image adjuster 262 includesskew 264, color 266, gray balance 268, and color fringe 270.

Skew 264 detects and corrects for misalignments of documents associatedwith a scanner in the second stage. Skew 264 may look at the entirescanned image determine whether the scanned document is slanted. Forinstance, a document feeder for a scanner may feed the document in at aslant, particularly when feeding documents via the vertical or longeredge of the document and the scanned document will be slanted. Uponrecognizing the skew, skew 264 may generate correction parameters forthe scanner to correct for the slant. Thus, correction parameters forskew are generated and image adjuster 260 dynamically detects andimplements an enhancement tool to correct for skew when skew isdetected. In particular, corrections will be implemented when thecomparison reveals distortion that exceeds a threshold distortion toincrease the performance of the reprographic system when the distortionis minor.

Similarly, color 266, gray balance 268, and color fringe 270 implementcorrection parameters associated with a corrected scanner to modifyscanned data for distortions associated with color values identified bythe corrected scanner. For example, when a user selects a reprographicfunction involving a corrected scanner such as a scan function viacontroller 215, scanner image adjuster 262 identifies an entry for thecalibrated scanner in scanner parameters 252 and determines whethercorrection parameters are available for color 266, gray balance 268, andcolor fringe 270. When, e.g., color correction parameters are available,color 266 modifies the scanned data of each document scanned by thatscanner.

Color 266 applies first stage correction parameters to correct the colorvalues represented in scanned data. Gray balance 268 applies first stagecorrection parameters to identify and correct for color levels thatshould be substantially equivalent.

Color fringe 270 applies color value corrections to adjust color valuesat edges of color levels represented in the scanned data. Color fringecan be very noticeable in, e.g., black text. In several embodiments,color fringe 270 employs edge enhancement techniques to alter the colorvalues in the edges outlining patches of color values based upon thecolor levels of the patches.

Image adjuster 260 may then implement user preference correctionparameters on the scanned data for each document scanned. In someembodiments, image adjuster 260 may include a correction parametercombiner to combine scanner, user, and/or printer correction parameters,providing faster reproduction processes. More specifically, when a userselects a reprographic function such as copy, image adjuster 260 maydynamically combine gray balance for the scanner and printer selectedfor copying and for user preference parameters from user parameters 251.For example, to produce copies of a large document more quickly, thedocument may be split between more than one scanner and more than oneprinter. In particular, the user may instruct the reprographics systemto distribute scanned documents from a work group scanner to more thanone printer via controller 215. In such circumstances, correctionparameters for each scanner and printer combination may be combined toreduce the time involved with correcting distortions inherent to thecorresponding components for each document.

Printer image adjuster 282 may adjust data to print to a printer bylocating printer correction parameters in printer parameters 254 thatare associated with the printer and modifying image data based upon thecorrection parameters. Printer image adjuster 282 may convert datascanned from a scanner into a postscript file or the like to forward tothe printer.

Printer image adjuster 282 may include dynamic, second stage imageprocessing enhancement tools like page segmenter 283, text 284, colorimage adjuster 287, and data compressor 291. Page segmenter 283separates black text or line art data from color image data to performdistinct, and in some embodiments, parallel, image processing techniquesadapted to enhance the quality of copies printed by one or moreprinters. For example, when a user wants to print black and whitedocuments, page segmenter 283 processes the black and white data viatext 284 to improve or optimize image processing for that data. On theother hand, when the user wants to print color image data, pagesegmenter 283 processes the data via color image adjuster 287. Further,when the user wants to print, e.g. as part of a copy function, adocument having both black text and color image data, page segmenter 283may separate the image data for the document into data for black andwhite processing and data for color image processing if separateprocessing of the data is advantageous.

Depending upon the printing techniques associated with the correctedprinter, evaluated by error detector and parameter generator 230 anddescribed in printer parameters 254, page segmenter 283 may send mixeddocuments having black text and color image data to color image adjuster287 and not separate the black text from the color image. For instance,a high quality laser printer with a CMYK process with gray balance and ahigh frequency halftone having a multi-level halftoning process mayprint an acceptable quality of black text so image processing techniquesselected for that printer may not include segmentation. Thus, theprinting process may be improved or optimized by skipping thesegmentation process.

Text 284 provides second stage image enhancement by processing black andwhite data for a document to enhance text quality and edges associatedwith the data, producing a substantially high quality print. Inparticular text 284 includes scaler 285 and binarizer 286. Scaler 285may receive color data like 300 dpi with 24 bits in a color space suchas an RGB color space and scale the data to 600 dpi with 8 bits of graydata.

Binarizer 286 may binarize gray data from levels of gray to blackpixels. For instance, upon receipt of 600 dpi with 8 bits of gray,binarizer 286 may transform the data to 600 dpi with one bit of black.Thus, when the binary data is transmitted to a printer, the printer canproduce improved or optimized black text with sharp edges and betterperformance.

Color image adjuster 287 may process color image data of a document toimprove quality, and, in some cases, provide a higher quality print thanthe original document. In particular, color image adjuster 287implements first stage correction parameters of printer parameters 254to compensate for distortions associated with a calibrated printer.Color image adjuster 287 may include gray balance 288, and descreener290.

Gray balance 288 implements first stage, correction parameters fromprinter parameters 254 to remove distortions in the equivalence of colorlevels associated with a targeted printer upon receipt of a digitalimage. For instance, printer parameters 254 may include three, colorcurves, e.g., red, green, and blue. Translating the color values of thedigital image to the color values indicated on the curves improves thegray balance output by the printer for the digital image.

Descreener 290 provides dynamic, second stage, image processingenhancement and is designed to implement a descreen filter of descreenfilters 256 based upon a halftone frequency identified for the printerand/or halftones identified for the image to be printed. For example,image adjuster 260 receives a digital color image to print on a printerfrom a scanner or an electronic file and employs image detector 240 todetermine the halftone frequency associated with the digital colorimage. In the present embodiment, image detector 240 also determines anindication of the pattern of the halftone distortion and areas of theimage data that are significantly affected by the halftones. Pagesegmenter 283 identifies the digital color image and initiates colorimage adjuster 287 to process the image. Descreener 290 checks printerparameters 254 for a halftone frequency associated with the printer.Then, based upon the frequencies and techniques of the halftonesassociated with the digital color image and the printer, descreener 290selectively applies a smoothing filter from descreen filters 256 toattenuate interactions between the halftones of the digital color imageand the printer.

Printer image adjuster 282 may also include a data compressor 291coupled with text 284 and color image adjuster 287 to compress imagedata of a document for transmission across a network to a printer. Inthe present embodiment, data compressor 291 includes binary 292 tocompress binary data received from text 284 and joint photographicexperts group (JPEG) 294 image compression to compress color image datareceived from color image adjuster 287 or color binary compression likeJoint Bi-level Image Experts Group (JBIG) 296 for color binary data. Infurther embodiments, printer image adjuster 282 may combine thecompressed binary and image data to produce a postscript file totransmit to a printer or PDF for email.

FIG. 3 depicts an example flow chart 300 of a method to enhance imageprocessing for a scanner. Flow chart 300 begins with element 310,receiving instructions to calibrate scanner A. The instructions mayresult from user input or may result from a user action such as couplingthe scanner to the reprographic system. In some embodiments, acontroller may receive instructions to enhance image processing for ascanner and the scanner is identified at a memory location.

In element 315, the user is instructed to place a target in scanner Afor first stage enhancement. For instance, the reprographic system mayinclude one or more targets in the form of prints or photographsdesigned to facilitate enhancement of image processing for scanners. Insuch embodiments, a data storage unit such as non-volatile memory or acompact disk read only memory (CD ROM) of the reprographic systemincludes digital files with measured density data and/or other colormetric data corresponding to the targets. The digital files describe thecolor levels associated with the targets to a suitable level ofaccuracy. In many of these embodiments, the target is a standard IT8target like Kodak Q60R1.

Scanner A is instructed to scan the image, typically in an RGB format.When the scanner includes doubled-side scanning wherein the second sideof the document may be scanned by a separate set of optics, scanned datafrom the second set of optics is also generated for comparison to thetarget data to determine distortions associated with the second set ofoptics and/or the document feeder. Further, when the scanner facilitatesflatbed scanning, since errors resulting from a document feeder may notbe incorporated into the scanned data when a document is placed directlyon the flatbed, scanned data is generated for a target placed directlyon the flatbed by a user to detect distortions resulting from the opticsof the scanner.

Element 325, detects the gray balance of the scanner by comparing graylevels of the target data with gray levels of the scanned data. Inparticular, color values in gray patches of the scanned data areevaluated to determine whether the gray patches of the scanned data havea color cast such as red, green, or blue. For example, the scannergenerates RGB color values for each of the gray patches on the target.Each of the RGB color values within the same level of gray shouldrepresent equivalent color levels of red, green, and blue such as 128for red, 128 for green, and 128 for blue. When the scanner perceives,e.g. blue as 135, the color values describe the gray patch as having ablue cast. If the gray balance distortion exceeds a gray balancethreshold, element 325 generates correction parameters to compensate forthe distortion.

Further, the gray balance distortion of the scanner may not be linearwith respect to physical location and/or color levels. In particular,different areas of the target having the same gray level may beinterpreted with different color casts and different levels of gray maybe interpreted with different color casts. Thus, some embodiments mayevaluate multiple samples of gray levels from more than one physicallocation in the target and generate correction parameters to compensatefor one or both of these distortions, if the distortions exceed selectedthresholds.

Element 330 evaluates the scanned data to detect color fringe. Colorfringe is a misalignment of RGB color planes in the scanned data and canbe very noticeable, e.g. in black text. Correction parameters for colorfringe will be generated if the distortion exceeds a fringe thresholdsuch as a quarter of a pixel. The fringe threshold may be set by defaultand, in many embodiments, by a user preference. The user preference canbe a general preference for balancing speed with quality such as a barhaving steps ranging from optimized for speed to optimized for qualityand when the user selects a setting, multiple thresholds for variousforms of distortion correction may be modified based upon the setting.In further embodiments, the fringe threshold setting is selecteddirectly by a user, such as select gradations of low to high imagequality.

In element 335, color values represented in the scanned data arecompared with a measurement of the target data to determine the coloraccuracy of the scanner. More specifically, colors values from eachlevel of each color of the target data are compared with thecorresponding color values of the scanned data and when the differencesexceed a threshold, correction parameters are generated to compensatefor the difference. Differences between color values in the scanned dataof the scanner target and the target data may be used to generatecorrection parameters such as a 3 by 3 color matrix, 3 by N colormatrix, polynomial settings, or look-up tables. For example, when thescanner target is an IT8 chart, color values of patches may be averagedand compared with the color values of the target data to determinecorrections for scanner. Further, correction parameters for colors maybe interpolated to determine correction parameters for colors that arenot represented in the scanner target. In one embodiment, the colorsvalues of the scanned data are determined by averaging color values ofan area within the corresponding color patch. The correction parametersare, in further embodiments, stored in the form of points on a curve ora function representing a curve. When the correction parameters arestored in the form of points, color levels that are between the colorlevels of the target data may be interpolated to determine color valuecorrections. On the other hand, a curve-fitting algorithm may generate afunction and store the correction parameters as the function.

FIG. 4 depicts an example flow chart 400 of a method to enhance imageprocessing for a printer. The flow chart 400 begins with element 410,receiving instructions to calibrate printer B with first stagecorrections. More specifically, the user couples a printer to a localprinter port of the reprographic system and, upon recognizing the new,uncorrected printer B, the reprographic system responds by prompting theuser to enhance image processing for printer B. The user confirms therequest so element 415 prints a target to printer B. For instance, thereprographic system may include one or more targets in the form ofdigital files to print when enhancing image processing for printers. Insuch embodiments, a data storage unit such as non-volatile memory or aCD ROM of the reprographic system includes the digital filescorresponding to the targets.

The user is instructed to place the printed target in a corrected, orenhanced, scanner and, in element 420, scanner A is instructed to scanthe printed target. The number of pixels across the printed target isdetermined by the resolution of the scanner, e.g. 600 dpi with 24 bitsof color for each pixel, or 8 bits of data for red, 8 bits of green, and8 bits of blue for each pixel.

Then, element 425 accesses and modifies scanned data based upon firststage, correction parameters determined for scanner A. The correctionparameters may include data describing modifications for the scanneddata to correct for distortions such as gray balance, color fringe, andcolor discrepancies.

Element 430 detects the halftone frequency associated with the printedtarget. The digital file for the target typically has no halftones sothe halftones in the printed target are halftones associated with theprinter. The halftone frequency of the printer facilitates adetermination of an interaction between halftones of a scanned documentto print and that printer. For instance, when the user selects the copyreprographic function, an image detector detects the halftone presenceand frequency in the original. The halftone frequency is compared withthe halftone frequency of the printer and, if an interaction between thehalftones is determined to be an unsuitable distortion, the halftonefrequency of the original is used to select a descreen filter to modifythe scanned data of the original, smoothing or blurring the halftones.In many embodiments, edges of the original may be enhanced whileblurring the half tones to attenuate or offset the destructive effectsof blurring. In further embodiments, the descreen filters may bedynamically selected in the second stage based upon the frequency of theprinter and implemented prior to printing to improve the quality of theresultant print.

In element 435, the gray balance of the printer is detected andcorrection parameters for the gray balance are generated. A printer isgray balanced when the printer can print a gray without a color cast.The gray balance of the printer may determine the amount of processingto implement for data to be printed. For instance, when the color castof a gray is very minor, i.e., imperceptible or substantiallyimperceptible by the human eye, or below a selected threshold for thereprographic system, the reprographic system may ignore the color castto increase the speed of printing an image. On the other hand, when thecolor cast of a gray is above the threshold for the system, correctionparameters are generated to remove the color cast.

The correction parameters are typically stored in non-volatile memorycoupled with or within a component of the reprographic system and, insome embodiments, one or more default sets of correction parameters maybe stored as a starting point to operation prior to calibration. Thus,the user can easily re-calibrate a reprographic component for anydifference or change in circumstances such as using a different kind ofpaper, upgrading a scanner, upgrading a printer, or the like.

FIG. 5 depicts an example flow chart 500 of a method to copy via acorrected scanner and a corrected printer. The flow chart 500 beginswith element 510, receiving instructions to copy via scanner A andprinter B. After instructing scanner A to scan the document(s) (element515), the reprographic system corrects the scanned page data of thedocument for distortions associated with scanner A and printer B(element 520). More specifically, the page data may be modified toaccount for first stage and second stage distortions associated with theprinter and/or scanner such as gray balance, skew, and color fringe. Forexample, both printer B and scanner A include gray balance distortions.The gray balance correction parameters for printer B and scanner A arecombined to create a single set of corrections for gray balance and theset of corrections are applied to the page data. The combined set ofcorrection parameters may offer a one to one correspondence betweensubstantially accurate color levels and color levels associated with thepage data, reducing the number of data manipulations per document toincrease performance of the reprographic system.

In element 525, correction parameters for color level distortionsassociated with scanner A are applied to the page data. The correctionparameters for color level distortions may describe one to one colorvalue corrections for color levels of the RGB color gamut. In otherembodiments, the color corrections may include color correction valuesin another color space.

Element 530 filters the page data of documents being copied with adescreen filter. The descreen filter may be applied when the distortionassociated with an interaction between halftones of the page data andprinter B is determined to be significant. In particular, when thehalftone frequency of printer B is close to the halftone frequency thepage data of a document, a Moire pattern may be perceptible in the printwhen printed with printer B. When these frequencies are within aselected frequency range, a descreen filter is dynamically selected andapplied to the page data. The descreen filters may include dynamicdescreening and edge enhancement. For example, the page data may beblurred to remove halftone interference while sharpening edges of colorsrepresented in the page data.

Element 535 adjusts the page data of each page in the document with userpreferences. For instance, the user may select a preference todesaturate color levels of the document being copied.

Element 540 compresses the resulting page data of each page in thedocument and transmits the compressed data to printer B. In particular,the network topology of the reprographic system may include bandwidthlimited communication mediums between the image processing unit and theprinter so data compression reduces the amount of data that istransferred across the communication channels to increase performance ofthe reprographic system. In several embodiments, the compression mayinclude an image compression that can be interpreted by printer B'sdriver software such as a JPEG format.

FIG. 6 depicts an example flow chart 600 of a method including imageprocessing enhancement to copy an image having both text and image datavia scanner A and printer B. The flow chart begins with element 600,receiving instructions to copy via scanner A and printer B with adefault user preference curve. More specifically, the user requests acopy of a document located in scanner A to be copied and printed toprinter B and did not request a specific user preference such asincrease or decrease contrast. A default user preference, however, mayinclude one or more user preferences. For example, the main function ofthe reprographic equipment in an office may be to copy text documentswith some color image documents and some mixed documents. The textdocuments may be repeatedly copied, deteriorating the contrast of thedocuments and the dark tone of the text so the default user preferencescan be set to increase contrast one level and increase darkness by onelevel. Increasing the contrast by one level is associated with a userpreference curve and increasing darkness by one level is associated witha second user preference curve, both of which are located in memory.

The reprographic system instructs scanner A to scan the image. In otherembodiments, the reprographic system may instruct the user to press ascan button when the image is placed in the scanner. Then, element 615adjusts the scanned data based upon the color fringe distortions ifcorrection parameters were generated for color fringe distortions whenscanner A was calibrated. In particular, some scanners may not have asignificant color fringe problem, e.g., the pixel offset of an RGB colorvalue may be so small that the amount of color distortion in theoutlying area of an image, such as a black text character, is notsufficient to justify processing each page for the distortion. Theamount of distortion justifying correction may be incorporated in theform of a default setting and the setting may be adjustable via a userpreference.

In element 620, the page data of the document being copied is correctedfor skew if the skew distortion is sufficient to justify the additionalimage processing. For example, when scanner A scans a page from aflatbed or a document feeder, the resulting page data may be offsetand/or rotated. Correction parameters are designed to characterize theoffset and/or rotation so the page data of each page of the document canbe corrected.

Element 625 adjusts color values of the page data to attenuate scannerdistortions related to color accuracy and gray balance. In particular,scanner A may misrepresent color values for each pixel and correctionparameters designed to correct for the distortion may be applied to thepage data. For example, with regards to gray balance, scanner A mayrepresent a gray level with unequal color values of RGB data andcorrection parameters designed to correct for these differences areapplied to the page data.

Scanner A may also misrepresent a color value. Corrections for suchdistortions involve adjusting the color values of pixels by thedifference(s) associated with the misrepresentation such as by 3 by 3matrix, look-up tables, or polynomial data settings.

In element 630, the page data may be segmented or directed through aprocessing channel for black text when the printing technique of printerB will not adequately reproduce black text data of the page data. Morespecifically, when printer B has a gray balance distortion and halftoneswith a coarse frequency such as a frequency below 170 dpi or otherwiseheuristically determined range of frequencies, and the page dataincludes black text, the black text data of the page data will bedirected through text correction processing, elements 640 and 645. Whenthe page data also includes image data, the image data is directedthrough image correction processing, elements 650, 655, and 660.Further, when the page data includes both black text and a color image,the black text may be separated from the color image to process the textdata with text correction processing and the image data with imagecorrection processing. Other circumstances may also warrant separateprocessing for the black text data, or even images of black data ingeneral, from the image data such as low halftone frequency associatedwith the printer or the page data, a color fringe problem associatedwith the printer, one or more minor distortions associated with theselected printer or scanner that may or may not have instigated thegeneration of correction parameters, etc. Such other circumstances maybe selected by default and/or by user preferences.

Scaling 640 involves generating bits of gray data for a pixel based uponcolor bits for the pixel. For instance, when the black text data isscanned by a scanner in the RGB color space, three sets of data aregenerated for each pixel; red, green, and blue. The three sets of colordata provide a significant amount of data for determining black colorvalues for the data so, e.g., 300 dpi with 24 bits of RGB data can bescaled to 600 dpi with 8 bits of data for gray. The scaled data may thenbe binarized to 600 dpi with one bit of data for black, providing asharp edge for black text. Then, element 645 compresses the black textdata for transmission to printer B.

Element 650 begins corrective processing for the image data and includesadaptive descreening with edge enhancement. Image data may include colorimages or black and white images in RGB color space. However, in someembodiments, image data is represented in another color space like acolor space supported by ICC or other standard. Adaptive descreeningwith edge enhancement is designed to filter out halftones from the pagedata to prevent halftones generated by printer B from interfering withor interacting with halftones of the image data and to dynamicallydetermine edges of images described in the image data so the halftonesmay be blurred while adjusting edges to be more pronounced.

Element 655 adjusts color values of the page data including image dataand, when black text data is not separated from the image data, blacktext data. These adjustments may be based upon user preferences. Then,element 660 compresses the page data for transmission to printer B andelement 670 transmits the compressed image data and/or black text dataor page data to printer B for printing.

In other situations, the page data may be a file received by email, byfax via a fax modem, or from a file directory on a network coupled withthe reprographic system. For example, a user may indicate the locationof the file to print to the reprographic system and the reprographicsystem may process the file like page data above. In some embodiments,an email address assigned to the reprographic system may designateemails to print upon receipt. The persons for whom the email isaddressed can be recognized by the reprographic system and a defaultprinter, the printer in the office of that person, is designated as theprinter for printing that email. In still other situations, the pagedata may be forwarded to email addresses, a fax machine, and/or to afile directory in response to user input.

FIG. 7 depicts an example flow chart 700 of a method includingdynamically selecting image processing enhancement techniques based upondetected characteristics or distortions associated with a scanner andprinter, and configuring the techniques to copy a page with a modularcolor reprographic system. The flow chart begins with element 710,receiving instructions to copy a page. More specifically, the userrequests a page located in the scanner to be copied and printed to theprinter.

In element 715, one or more image processing techniques are selected.For instance, gray balance processing may be selected for the scannerand/or printer depending upon characteristics detected and stored forthe scanner and printer during the first stage, or calibration stage.Descreening may be selected, e.g., when the printer does not performerror diffusion or when the halftone frequency associated with theprinter is coarse. And color fringe processing may be selected when acolor fringe distortion above a color fringe threshold is associatedwith the scanner. Segmentation may be selected the printer prints a lowquality text with color inks based upon a determined or selectedcriteria for text quality. Other image processing techniques may beselected as well, depending upon the techniques available and thedetected characteristics of the scanner and printer.

In element 720, the image processing techniques selected in element 715are configured for the particular scanner and printer. For example, whena descreening process is selected, the halftone frequency determined forthe printer is taken into account to select a descreen filter.

In element 725, the page is scanned and in element 730, correctionsbased upon the selected image processing technique(s) and the detectedcharacteristics of the scanner and the printer are implemented. Infurther embodiments, the page data may also be corrected for otherdistortions associated with the scanning of the page such as skew.

In element 735, the printer prints the corrected page data. Forinstance, the page data may be compressed and/or incorporated into apostscript file. Then, the data transmitted to the printer or a printerqueue for the printer.

One embodiment of the invention is implemented as a machine-accessiblemedium for use with a reprographic system such as, for example, system100 shown in FIG. 1 and described below. The program(s) of themachine-accessible medium defines functions of the embodiments(including the methods described herein) and can be contained on avariety of signal-bearing media. Illustrative signal-bearing mediainclude, but are not limited to: (i) information permanently stored onnon-writable storage media (e.g., read-only memory devices within acomputer such as CD-ROM disks readable by a CD-ROM drive); (ii)alterable information stored on writable storage media (e.g., floppydisks within a diskette drive or hard-disk drive; magnetic disk storagemedia; optical storage media; and flash memory devices); and (iii)information conveyed to a computer by a communications medium, such asthrough a computer or telephone network, including wirelesscommunications such as electrical, optical, acoustical or other form ofpropagated signals (e.g. carrier waves, infrared signals, digitalsignals, etc.). The latter embodiment specifically includes informationdownloaded from the Internet and other networks. Such signal-bearingmedia, when carrying machine-accessible instructions that direct thefunctions of the present invention, represent embodiments of the presentinvention. Some embodiments of the present invention can include morethan one machine-accessible medium depending on the design of themachine.

In general, the routines executed to implement the embodiments of theinvention, may be part of an operating system or a specific application,component, program, module, object, or sequence of instructions. Theprogram(s) of the present invention typically are comprised of amultitude of instructions that will be translated by the native computerinto a machine-readable format and hence executable instructions. Also,programs are comprised of variables and data structures that eitherreside locally to the program or are found in memory or on storagedevices. In addition, various programs described hereinafter may beidentified based upon the application for which they are implemented ina specific embodiment of the invention. However, it should beappreciated that any particular program nomenclature that follows isused merely for convenience, and thus the invention should not belimited to use solely in any specific application identified and/orimplied by such nomenclature.

It will be apparent to those skilled in the art having the benefit ofthis disclosure that the present invention contemplates involve methods,systems, and media to calibrate a reprographic system. It is understoodthat the form of the invention shown and described in the detaileddescription and the drawings are to be taken merely as presentlypreferred examples. It is intended that the following claims beinterpreted broadly to embrace all the variations of the preferredembodiments disclosed.

1. A method for enhancing image processing for a color reprographicsystem, the method comprising: receiving page data to print with aprinter; separating black data represented by pixels in a color spaceand color image data from the page data; binarizing the black data toconvert the black data to black color values; determining whetherhalftoning associated with the printer interacts with halftoning of thepage data; filtering the color image data with a descreen filterassociated with the halftoning of the page data when the halftoningassociated with the printer is determined to interact with thehalftoning of the page data; correcting the color image data withprinter correction parameters for the printer; and printing acombination of the binarized black text data and the corrected colorimage data with the printer.
 2. The method of claim 1, furthercomprising combining the binarized text data and the corrected colorimage data and compressing the combined data for transmission to theprinter.
 3. The method of claim 1, further comprising scaling the blackdata.
 4. The method of claim 3, wherein scaling the black data comprisesgenerating grey bit data for each black pixel based upon color bits ofeach black pixel.
 5. The method of claim 1, wherein printing thecombination comprises generating a postscript file to transmit to theprinter.
 6. The method of claim 1, further comprising: determining ahalftone frequency of the printer; and filtering the color imageresponsive to determining the halftone frequency is less than about 170dpi.
 7. A computer readable medium tangibly embodying programmedinstructions which, when executed by a computer system, are operable toperform a method of enhancing image processing for a color reprographicsystem, the method comprising: receiving page data to print with aprinter; separating black data represented by pixels in a color spaceand color image data from the page data; binarizing the black data toconvert the black data to black color values; determining whetherhalftoning associated with the printer interacts with halftoning of thepage data; filtering the color image data with a descreen filterassociated with the halftoning of the page data when the halftoningassociated with the printer is determined to interact with thehalftoning of the page data; correcting the color image data withprinter correction parameters for the printer; and printing acombination of the binarized black text data and the corrected colorimage data with the printer.
 8. The computer readable medium of claim 7further comprising combining the binarized text data and the correctedcolor image data and compressing the combined data for transmission tothe printer.
 9. The computer readable medium of claim 7 furthercomprising scaling the black data.
 10. The computer readable medium ofclaim 9 wherein scaling the black data comprises generating grey bitdata for each black pixel based upon color bits of each black pixel. 11.The computer readable medium of claim 7 wherein printing the combinationcomprises generating a postscript file to transmit to the printer. 12.The computer readable medium of claim 7 further comprising: determininga halftone frequency of the printer; and filtering the color imageresponsive to determining the halftone frequency is less than about 170dpi.
 13. A system operable to enhancing image processing for a colorreprographic system, the system comprising: a controller operable toreceiving page data to print on a printer; an image adjuster operable toseparate black data represented by pixels in a color space and colorimage data from the page data; and an image adjuster operable tobinarize the black data to convert the black data to black color values,to determine whether halftoning associated with the printer interactswith halftoning of the page data, to filtering the color image data witha descreen filter associated with the halftoning of the page data whenthe halftoning associated with the printer is determined to interactwith the halftoning of the page data, and to correct the color imagedata with printer correction parameters for the printer, wherein theprinter is configured to print a combination of the binarized black textdata and the corrected color image data.
 14. The system of claim 13wherein the image adjuster is further operable to combine the binarizedtext data and the corrected color image data, and to compress thecombined data for transmission to the printer.
 15. The system of claim13 wherein the image adjuster is further operable to scale the blackdata.
 16. The system of claim 15 wherein scaling the black datacomprises generating grey bit data for each black pixel based upon colorbits of each black pixel.
 17. The system of claim 13 wherein the printeris further configured to receive a post script file including thecombination of the binarized black text data and the corrected colorimage.
 18. The system of claim 13 wherein the image adjuster is furtheroperable to determine a halftone frequency of the printer, and to filterthe color image responsive to determining the halftone frequency is lessthan about 170 dpi.